---
title: "Модуль log-shipper: расширенная конфигурация"
---

## Как включить debug-логи?

Включите параметр [debug](configuration.html#parameters-debug) модуля.

Пример конфигурации модуля:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
  name: log-shipper
spec:
  version: 1
  enabled: true
  settings:
    debug: true
```

После этого в логах вы найдете много полезной информации о HTTP-запросах, переиспользовании подключения, трассировку и т. д.

## Как узнать больше о каналах передачи log'ов?

Для начала зайдите в под на желаемом узле.

```bash
kubectl -n d8-log-shipper get pods -o wide | grep $node
kubectl -n d8-log-shipper exec $pod -it -c vector -- bash
```

Все следующие команды предполагается запускать из командной оболочки пода.

### Посмотреть каналы как graph

* Выполните команду `vector graph`, чтобы получить graph [в формате DOT](https://graphviz.org/doc/info/lang.html).
* Выставьте его в [webgraphviz](http://www.webgraphviz.com/) или другой похожий сервис, чтобы получить изображение.

Пример graph'а для одного канала передачи логов в формате ASCII:

```text
+------------------------------------------------+
|  d8_cluster_source_flant-integration-d8-logs   |
+------------------------------------------------+
  |
  |
  v
+------------------------------------------------+
|       d8_tf_flant-integration-d8-logs_0        |
+------------------------------------------------+
  |
  |
  v
+------------------------------------------------+
|       d8_tf_flant-integration-d8-logs_1        |
+------------------------------------------------+
  |
  |
  v
+------------------------------------------------+
| d8_cluster_sink_flant-integration-loki-storage |
+------------------------------------------------+
```

### Отладка передачи данных

Существует команда `vector top`, которая поможет увидеть, как много трафика проходит через каждую стадию обработки логов.

Пример вывода команды:

![Vector TOP output](../../images/460-log-shipper/vector_top.png)

### Получить необработанные образцы log'ов

Вы можете использовать команды `vector tap`, чтобы получить входные данные для любых компонентов каналов.
Единственный аргумент, который нужно задать, — ID стадии обработки (тажке поддерживаются выборки в формате glob,
например `cluster_logging_config/*`).

С помощью следующей команды вы сможете увидеть логи до применения правил трансформации (`cluster_logging_config/*` является первой стадией обработки согласно выводу команды `vector graph`):

```bash
vector tap 'cluster_logging_config/*'
```

Измененные логи, которые поступают на вход следующих в цепочке компонентов каналов:

```bash
vector tap 'transform/*'
```

Вы также можете использовать интерактивную консоль `vector vrl` для отладки [VRL](https://vector.dev/docs/reference/vrl/) правил для изменения логов.

Пример программы с использованием VRL:

```text
. = {"test1": "lynx", "test2": "fox"}
del(.test2)
.
```

## Как добавить поддержку нового source/sink для log-shipper?

Vector для модуля `log-shipper` был собран с ограниченным набором [функций](https://doc.rust-lang.org/cargo/reference/features.html) (чтобы уменьшить время сборки и размер финального запускаемого файла).

Вы можете посмотреть весь список поддерживаемых функций, выполнив команду `vector list`.

Если необходимо добавить поддержку нового source/sink, сначала нужно добавить необходимую функцию в список поддерживаемых в Dockerfile.
